﻿using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using EnvDTE;
using Moq;

namespace SmartStringResources.Tests
{
	public class ProjectItemsImpl : List<ProjectItem>, ProjectItems
	{
		public ProjectItem Item(object index)
		{
			throw new NotImplementedException();
		}

		public IEnumerator GetEnumerator()
		{
			return base.GetEnumerator();
		}

		public ProjectItem AddFromFile(string FileName)
		{
			return AddNewProjectItem();
		}

		private ProjectItem AddNewProjectItem()
		{
			var projectItem = new Mock<ProjectItem>().Object;
			Add(projectItem);
			return projectItem;
		}

		public ProjectItem AddFromTemplate(string FileName, string Name)
		{
			return AddNewProjectItem();
		}

		public ProjectItem AddFromDirectory(string Directory)
		{
			return AddNewProjectItem();
		}

		public ProjectItem AddFolder(string Name, string Kind = "{6BB5F8EF-4483-11D3-8BCF-00C04F8EC28C}")
		{
			return AddNewProjectItem();
		}

		public ProjectItem AddFromFileCopy(string FilePath)
		{
			return AddNewProjectItem();
		}

		public object Parent { get; private set; }
		public DTE DTE { get; private set; }
		public string Kind { get; private set; }
		public Project ContainingProject { get; private set; }
	}
}
